cargo.git
9 years agoRename debug target to dev in build output
Justin Geibel [Thu, 12 Jan 2017 01:03:36 +0000 (20:03 -0500)]
Rename debug target to dev in build output

This renames the debug target to dev in the build output for non-release
builds.  This includes the output of commands such as `cargo build`,
`cargo test`, and `cargo doc`.

Closes #3519

9 years agoAuto merge of #3524 - sdroege:test-build-doc-test-check-status, r=alexcrichton
bors [Tue, 10 Jan 2017 19:34:36 +0000 (19:34 +0000)]
Auto merge of #3524 - sdroege:test-build-doc-test-check-status, r=alexcrichton

Check the exit code of all processes started in the build/test tests

By not checking the exit codes, a failure in the build::crate_env_vars()
test was ignored.

As suggested by @alexcrichton in https://github.com/rust-lang/cargo/pull/3515#discussion_r95253461

9 years agoCheck the exit code of all processes started in the build/test tests
Sebastian Dröge [Tue, 10 Jan 2017 12:02:08 +0000 (14:02 +0200)]
Check the exit code of all processes started in the build/test tests

By not checking the exit codes, a failure in the build::crate_env_vars()
test was ignored.

9 years agoAuto merge of #3489 - matklad:rel-ws, r=alexcrichton
bors [Tue, 10 Jan 2017 07:45:10 +0000 (07:45 +0000)]
Auto merge of #3489 - matklad:rel-ws, r=alexcrichton

Use canonical paths for checking equality

9 years agoAuto merge of #3515 - sdroege:doc-all, r=alexcrichton
bors [Mon, 9 Jan 2017 21:46:23 +0000 (21:46 +0000)]
Auto merge of #3515 - sdroege:doc-all, r=alexcrichton

 Add support for documenting all members of the workspace with "doc --all"

https://github.com/rust-lang/cargo/issues/3491

9 years agoAuto merge of #3518 - Manishearth:static-mut, r=alexcrichton
bors [Mon, 9 Jan 2017 19:46:09 +0000 (19:46 +0000)]
Auto merge of #3518 - Manishearth:static-mut, r=alexcrichton

Replace static mut bool with atomicbool

unsafe in tests is fine, but it can be trivially avoided in this case.

r? @alexcrichton

cc @froydnj

9 years agoReplace static mut bool with atomicbool
Manish Goregaokar [Mon, 9 Jan 2017 14:51:37 +0000 (06:51 -0800)]
Replace static mut bool with atomicbool

9 years agoCollect library/binary names when documenting even if a spec was given
Sebastian Dröge [Mon, 9 Jan 2017 10:52:56 +0000 (12:52 +0200)]
Collect library/binary names when documenting even if a spec was given

This seems more consistent and generally should work better.

9 years agoCheck if the "doc --all" tests exit with exit code 0
Sebastian Dröge [Mon, 9 Jan 2017 10:49:13 +0000 (12:49 +0200)]
Check if the "doc --all" tests exit with exit code 0

9 years agoAuto merge of #3511 - sdroege:build-all, r=alexcrichton
bors [Mon, 9 Jan 2017 05:31:31 +0000 (05:31 +0000)]
Auto merge of #3511 - sdroege:build-all, r=alexcrichton

Add support for building all members of the workspace with "build --all"

https://github.com/rust-lang/cargo/issues/3491

9 years agoAuto merge of #3510 - froydnj:cross-compilation-test-checking, r=alexcrichton
bors [Mon, 9 Jan 2017 04:20:40 +0000 (04:20 +0000)]
Auto merge of #3510 - froydnj:cross-compilation-test-checking, r=alexcrichton

handle cross-compilation test failure more gracefully

The current cross-compilation test module fails every test if an appropriate cross standard library is not found.  This behavior is unhelpful, because the failures are verbose, unexpected, and there's no
obvious way to make them go away.

Instead, it would be better to check once before all the tests that an appropriate cross-compilation setup is available.  Once that check has been done, a single test can fail with an appropriate `panic!` message while the other tests silently pass.  The `panic!` message can inform the user about their options, either setting an appropriate environment variable, or using rustup to install the necessary cross standard library.

Assuming the user has rustup installed, the single failure now looks
something like:

```
thread 'plugin_deps' panicked at 'Cannot cross compile to i686-unknown-linux-gnu.

This failure can be safely ignored. If you would prefer to not see this
failure, you can set the environment variable CFG_DISABLE_CROSS_TESTS to "1".

Alternatively, you can install the necessary libraries for cross-compilation with

    rustup toolchain install stable-i686-unknown-linux-gnu
', tests/cross-compile.rs:87
note: Run with `RUST_BACKTRACE=1` for a backtrace.
```

The code is admittedly gnarly, with synchronization and `unsafe` sections, but I wasn't sure how to make it any better. Suggestions welcome!

Fixes #3086.

9 years agoAdd tests for "build --all"
Sebastian Dröge [Sat, 7 Jan 2017 11:01:39 +0000 (13:01 +0200)]
Add tests for "build --all"

These are basically the same as the ones from "test --all"

9 years agoAdd tests for "doc --all"
Sebastian Dröge [Sun, 8 Jan 2017 11:59:02 +0000 (13:59 +0200)]
Add tests for "doc --all"

These are basically the same as the ones from "test --all" and "build --all"

9 years agoAdd support for documenting all members of the workspace with "doc --all"
Sebastian Dröge [Fri, 6 Jan 2017 19:57:13 +0000 (21:57 +0200)]
Add support for documenting all members of the workspace with "doc --all"

https://github.com/rust-lang/cargo/issues/3491

9 years agoNormalize paths before checking for equality
Aleksey Kladov [Tue, 3 Jan 2017 11:11:57 +0000 (14:11 +0300)]
Normalize paths before checking for equality

9 years agohandle cross-compilation test failure more gracefully
Nathan Froyd [Fri, 6 Jan 2017 19:30:38 +0000 (14:30 -0500)]
handle cross-compilation test failure more gracefully

The current cross-compilation test module fails every test if an
appropriate cross standard library is not found.  This behavior is
unhelpful, because the failures are verbose, unexpected, and there's no
obvious way to make them go away.

Instead, it would be better to check once before all the tests that an
appropriate cross-compilation setup is available.  Once that check has
been done, a single test can fail with an appropriate `panic!` message
while the other tests silently pass.  The `panic!` message can inform
the user about their options, either setting an appropriate environment
variable, or using rustup to install the necessary cross standard
library.

Assuming the user has rustup installed, the single failure now looks
something like:

```
thread 'plugin_deps' panicked at 'Cannot cross compile to i686-unknown-linux-gnu.

This failure can be safely ignored. If you would prefer to not see this
failure, you can set the environment variable CFG_DISABLE_CROSS_TESTS to "1".

Alternatively, you can install the necessary libraries for cross-compilation with

    rustup toolchain install stable-i686-unknown-linux-gnu

You may need to install runtime libraries for your Linux distribution as well.
', tests/cross-compile.rs:87
note: Run with `RUST_BACKTRACE=1` for a backtrace.
```

Fixes #3086.

9 years agoAuto merge of #3509 - froydnj:colored-shell-tests, r=alexcrichton
bors [Fri, 6 Jan 2017 20:57:04 +0000 (20:57 +0000)]
Auto merge of #3509 - froydnj:colored-shell-tests, r=alexcrichton

disable color shell tests for terminals that don't support color

Some terminals (e.g. running a shell inside Emacs's shell-mode) don't
support color, and running tests that assume the terminal supports color
don't work so well.  Instead, if color is expected, check the terminal
for whether it supports color or not, and act accordingly.

9 years agoAdd support for building all members of the workspace with "build --all"
Sebastian Dröge [Fri, 6 Jan 2017 19:52:57 +0000 (21:52 +0200)]
Add support for building all members of the workspace with "build --all"

https://github.com/rust-lang/cargo/issues/3491

9 years agoAuto merge of #3508 - petrochenkov:bsover, r=alexcrichton
bors [Fri, 6 Jan 2017 18:46:47 +0000 (18:46 +0000)]
Auto merge of #3508 - petrochenkov:bsover, r=alexcrichton

Do not treat `warning` and `rerun-if-changed` as user-defined metadata in build script overrides

Fixes https://github.com/rust-lang/cargo/pull/3438#discussion_r94018355
r? @alexcrichton

9 years agodisable color shell tests for terminals that don't support color
Nathan Froyd [Fri, 6 Jan 2017 17:46:56 +0000 (12:46 -0500)]
disable color shell tests for terminals that don't support color

Some terminals (e.g. running a shell inside Emacs's shell-mode) don't
support color, and running tests that assume the terminal supports color
don't work so well.  Instead, if color is expected, check the terminal
for whether it supports color or not, and act accordingly.

9 years agoAuto merge of #3504 - froydnj:win32-dependencies, r=alexcrichton
bors [Fri, 6 Jan 2017 17:16:47 +0000 (17:16 +0000)]
Auto merge of #3504 - froydnj:win32-dependencies, r=alexcrichton

make certain dependencies Windows-only

Inspired by servo/heapsize#71, we make certain dependencies only required under Windows.

9 years agoDo not treat `warning` and `rerun-if-changed` as user-defined metadata in build scrip...
Vadim Petrochenkov [Fri, 6 Jan 2017 13:28:53 +0000 (16:28 +0300)]
Do not treat `warning` and `rerun-if-changed` as user-defined metadata in build script overrides

9 years agomake certain dependencies Windows-only
Nathan Froyd [Thu, 5 Jan 2017 21:09:36 +0000 (16:09 -0500)]
make certain dependencies Windows-only

Inspired by servo/heapsize#71, we make certain dependencies only
required under Windows.

9 years agoAuto merge of #3427 - nrc:api-check-2, r=alexcrichton
bors [Fri, 6 Jan 2017 06:15:35 +0000 (06:15 +0000)]
Auto merge of #3427 - nrc:api-check-2, r=alexcrichton

Make some aspects of check/build available as an API.

There are two key parts to this commit:
* let API clients run `cargo check` with minimal fuss (ops/cargo_check.rs),
* let API clients intercept and customise Cargo's calls to rustc (all the Executor stuff).

r? @alexcrichton

9 years agoAuto merge of #3505 - froydnj:read2-delete-try, r=alexcrichton
bors [Fri, 6 Jan 2017 01:39:26 +0000 (01:39 +0000)]
Auto merge of #3505 - froydnj:read2-delete-try, r=alexcrichton

delete unused try macro from read2.rs

AFAICS, this is unused.

9 years agoAuto merge of #3507 - alexcrichton:appveyor-new-deploy, r=alexcrichton
bors [Thu, 5 Jan 2017 23:44:25 +0000 (23:44 +0000)]
Auto merge of #3507 - alexcrichton:appveyor-new-deploy, r=alexcrichton

Remove extraneous .BaseName from AppVeyor

Apparently this isn't necessary

9 years agoRemove extraneous .BaseName from AppVeyor
Alex Crichton [Thu, 5 Jan 2017 23:41:04 +0000 (15:41 -0800)]
Remove extraneous .BaseName from AppVeyor

Apparently this isn't necessary

9 years agoAdd `--profile check` to `cargo rustc`
Nick Cameron [Thu, 5 Jan 2017 02:21:12 +0000 (15:21 +1300)]
Add `--profile check` to `cargo rustc`

9 years agodelete unused try macro from read2.rs
Nathan Froyd [Thu, 5 Jan 2017 21:26:48 +0000 (16:26 -0500)]
delete unused try macro from read2.rs

9 years agoAuto merge of #3495 - sfackler:bump-shell-escape, r=alexcrichton
bors [Thu, 5 Jan 2017 20:52:28 +0000 (20:52 +0000)]
Auto merge of #3495 - sfackler:bump-shell-escape, r=alexcrichton

Update shell-escape

r? @alexcrichton

9 years agoAuto merge of #3500 - alexcrichton:appveyor-new-deploy, r=alexcrichton
bors [Thu, 5 Jan 2017 18:43:42 +0000 (18:43 +0000)]
Auto merge of #3500 - alexcrichton:appveyor-new-deploy, r=alexcrichton

Try using before_deploy on AppVeyor

9 years agoTry using before_deploy on AppVeyor
Alex Crichton [Thu, 5 Jan 2017 18:04:12 +0000 (10:04 -0800)]
Try using before_deploy on AppVeyor

9 years agoUpdate shell-escape
Steven Fackler [Thu, 5 Jan 2017 04:06:53 +0000 (20:06 -0800)]
Update shell-escape

9 years agoreview changes, round 2 part b
Nick Cameron [Thu, 29 Dec 2016 23:19:34 +0000 (12:19 +1300)]
review changes, round 2 part b

Remove the ContinueBuild concept, be lenient about missing files in all cases, and undo the fingerprint changes (not an issue now we're not stopping the build early).

9 years agoreview changes, round 2
Nick Cameron [Thu, 29 Dec 2016 21:50:31 +0000 (10:50 +1300)]
review changes, round 2

Mostly focussing on the ergonomics of the API - removes with_* methods with closures, and replaces generics with trait objects.

9 years agoReview changes
Nick Cameron [Wed, 21 Dec 2016 04:34:05 +0000 (17:34 +1300)]
Review changes

9 years agoMake some aspects of check/build available as an API.
Nick Cameron [Tue, 6 Dec 2016 03:15:46 +0000 (17:15 -1000)]
Make some aspects of check/build available as an API.

There are two key parts to this commit:
* let API clients run `cargo check` with minimal fuss (ops/cargo_check.rs),
* let API clients intercept and customise Cargo's calls to rustc (all the Executor stuff).

9 years agoAuto merge of #3468 - nrc:metadata-emit, r=alexcrichton
bors [Thu, 5 Jan 2017 01:22:35 +0000 (01:22 +0000)]
Auto merge of #3468 - nrc:metadata-emit, r=alexcrichton

cargo check: use --emit=metadata rather than --crate-type=metadata

Requires https://github.com/rust-lang/rust/pull/38571 (don't land before that does)

r? @alexcrichton

9 years agoFixup tests
Nick Cameron [Tue, 3 Jan 2017 21:22:58 +0000 (10:22 +1300)]
Fixup tests

9 years agoUse --emit=metadata rather than --crate-type=metadata
Nick Cameron [Wed, 28 Dec 2016 21:30:34 +0000 (10:30 +1300)]
Use --emit=metadata rather than --crate-type=metadata

Requires https://github.com/rust-lang/rust/pull/38571

9 years agoAuto merge of #3485 - sfackler:useragent, r=alexcrichton
bors [Mon, 2 Jan 2017 18:09:26 +0000 (18:09 +0000)]
Auto merge of #3485 - sfackler:useragent, r=alexcrichton

Set a user agent with the version when talking to the registry

This can be used to track what versions of Cargo are being used in the
wild, which can be very useful.

r? @alexcrichton

9 years agoSet a user agent with the version when talking to the registry
Steven Fackler [Mon, 2 Jan 2017 03:35:30 +0000 (19:35 -0800)]
Set a user agent with the version when talking to the registry

This can be used to track what versions of Cargo are being used in the
wild, which can be very useful.

9 years agoAuto merge of #3480 - alexcrichton:one-flaky-test, r=brson
bors [Sat, 31 Dec 2016 02:48:35 +0000 (02:48 +0000)]
Auto merge of #3480 - alexcrichton:one-flaky-test, r=brson

Protect against spurious failure in ctrl_c test

A failure was witnessed in the Rust repository [1] which happened right after
this test and was a problem removing a directory. Local testing confirms that if
you kill Cargo then right afterwards it's very unlikely to be able to remove the
build directory, presumably because the child process is still getting torn down
in the background.

This commit fixes the ctrl_c test itself to wait for itself to release the bulid
directory, at which point the test has definitely passed.

[1]: https://ci.appveyor.com/project/rust-lang/rust/build/1.0.1331/job/xq4ogmglj7sllibw

9 years agoProtect against spurious failure in ctrl_c test
Alex Crichton [Sat, 31 Dec 2016 02:40:20 +0000 (18:40 -0800)]
Protect against spurious failure in ctrl_c test

A failure was witnessed in the Rust repository [1] which happened right after
this test and was a problem removing a directory. Local testing confirms that if
you kill Cargo then right afterwards it's very unlikely to be able to remove the
build directory, presumably because the child process is still getting torn down
in the background.

This commit fixes the ctrl_c test itself to wait for itself to release the bulid
directory, at which point the test has definitely passed.

[1]: https://ci.appveyor.com/project/rust-lang/rust/build/1.0.1331/job/xq4ogmglj7sllibw

9 years agoAuto merge of #3477 - sfackler:shell-escape, r=alexcrichton
bors [Fri, 30 Dec 2016 18:54:01 +0000 (18:54 +0000)]
Auto merge of #3477 - sfackler:shell-escape, r=alexcrichton

Use externally sourced shell-escape

Closes #3374

r? @alexcrichton

9 years agoUse externally sourced shell-escape
Steven Fackler [Fri, 30 Dec 2016 18:21:10 +0000 (10:21 -0800)]
Use externally sourced shell-escape

Closes #3374

9 years agoAuto merge of #3470 - alexcrichton:no-more-urls, r=steveklabnik
bors [Thu, 29 Dec 2016 20:38:27 +0000 (20:38 +0000)]
Auto merge of #3470 - alexcrichton:no-more-urls, r=steveklabnik

Delete manual installation URLs

These have existed since the beginning of time, but they haven't needed to exist
since long before 1.0. Let's just delete them now that they're out of date
anyway.

9 years agoDelete manual installation URLs
Alex Crichton [Thu, 29 Dec 2016 16:06:38 +0000 (08:06 -0800)]
Delete manual installation URLs

These have existed since the beginning of time, but they haven't needed to exist
since long before 1.0. Let's just delete them now that they're out of date
anyway.

9 years agoAuto merge of #3435 - alexcrichton:bump-libssh2, r=brson
bors [Thu, 29 Dec 2016 08:49:03 +0000 (08:49 +0000)]
Auto merge of #3435 - alexcrichton:bump-libssh2, r=brson

Update libssh2 to fix a segfault on Windows

There's some more discussion on #3401, but this essentially is just an inclusion
of libssh2/libssh2#163

Closes #3401

9 years agoAuto merge of #3417 - alexcrichton:fix-svn, r=brson
bors [Thu, 29 Dec 2016 07:37:46 +0000 (07:37 +0000)]
Auto merge of #3417 - alexcrichton:fix-svn, r=brson

Ignore dot dirs in directory sources

Looks like they'll conflict with a VCS, so let's just skip them like we do in
directory traversal elsewhere.

Closes #3414

9 years agoAuto merge of #3412 - alexcrichton:fix-recursion, r=brson
bors [Thu, 29 Dec 2016 03:34:29 +0000 (03:34 +0000)]
Auto merge of #3412 - alexcrichton:fix-recursion, r=brson

Fix recursion in build_path_deps

We were slightly too eager to follow pointers!

Closes #3330

9 years agoAuto merge of #3467 - alexcrichton:verbose, r=alexcrichton
bors [Thu, 29 Dec 2016 01:47:37 +0000 (01:47 +0000)]
Auto merge of #3467 - alexcrichton:verbose, r=alexcrichton

Attempt to debug a problem on AppVeyor

Let's get verbose logs from this step

9 years agoAttempt to debug a problem on AppVeyor
Alex Crichton [Thu, 29 Dec 2016 00:57:29 +0000 (16:57 -0800)]
Attempt to debug a problem on AppVeyor

Let's get verbose logs from this step

9 years agoAuto merge of #3438 - petrochenkov:bsdoc, r=alexcrichton
bors [Wed, 28 Dec 2016 20:39:45 +0000 (20:39 +0000)]
Auto merge of #3438 - petrochenkov:bsdoc, r=alexcrichton

Add some more details to build script docs

r? @alexcrichton

9 years agoAdd some more details to build script docs
petrochenkov [Wed, 28 Dec 2016 11:50:37 +0000 (14:50 +0300)]
Add some more details to build script docs

9 years agoAuto merge of #3458 - alexcrichton:docs, r=steveklabnik
bors [Mon, 26 Dec 2016 19:04:45 +0000 (19:04 +0000)]
Auto merge of #3458 - alexcrichton:docs, r=steveklabnik

Update README build instructions

Closes #3437

9 years agoAuto merge of #3454 - alexcrichton:bump1, r=alexcrichton
bors [Mon, 26 Dec 2016 06:48:55 +0000 (06:48 +0000)]
Auto merge of #3454 - alexcrichton:bump1, r=alexcrichton

Bump crates-io to 0.6.0

9 years agoAuto merge of #3439 - gentoo90:bashcomp, r=alexcrichton
bors [Mon, 26 Dec 2016 05:20:41 +0000 (05:20 +0000)]
Auto merge of #3439 - gentoo90:bashcomp, r=alexcrichton

Bashcomp

Update bash completion

9 years agoAuto merge of #3426 - nrc:check-fix-2, r=alexcrichton
bors [Mon, 26 Dec 2016 03:52:05 +0000 (03:52 +0000)]
Auto merge of #3426 - nrc:check-fix-2, r=alexcrichton

Test for #3419

Based on top of https://github.com/rust-lang/cargo/pull/3425.

I'm not sure if this is an acceptable test because it downloads rustc-serialize.

r? @alexcrichton

9 years agoAuto merge of #3436 - matklad:abs-target, r=alexcrichton
bors [Mon, 26 Dec 2016 02:45:07 +0000 (02:45 +0000)]
Auto merge of #3436 - matklad:abs-target, r=alexcrichton

Make sure targets always use absolute path

Closes #3416

I'd want to add a test for it later. Seems a bit suspicious that this change has not caused any test to fail.

9 years agoUpdate README build instructions
Alex Crichton [Mon, 26 Dec 2016 01:02:04 +0000 (17:02 -0800)]
Update README build instructions

9 years agoAuto merge of #3457 - alexcrichton:no-check-on-beta, r=alexcrichton
bors [Sun, 25 Dec 2016 23:53:35 +0000 (23:53 +0000)]
Auto merge of #3457 - alexcrichton:no-check-on-beta, r=alexcrichton

Only run check tests on nightly

9 years agoOnly run check tests on nightly
Alex Crichton [Sun, 25 Dec 2016 22:01:03 +0000 (14:01 -0800)]
Only run check tests on nightly

9 years agoBump crates-io to 0.6.0
Alex Crichton [Sun, 25 Dec 2016 16:00:37 +0000 (08:00 -0800)]
Bump crates-io to 0.6.0

9 years agoTest for cargo check with macro and both lib and bin.
Nick Cameron [Sun, 18 Dec 2016 21:52:50 +0000 (10:52 +1300)]
Test for cargo check with macro and both lib and bin.

Closes #3419

9 years agoAdd a test
Nick Cameron [Sat, 17 Dec 2016 20:23:33 +0000 (10:23 -1000)]
Add a test

Includes adding facility for checking that output does not contain a string.

9 years agoUpdate bash completion
gentoo90 [Wed, 21 Dec 2016 19:12:16 +0000 (21:12 +0200)]
Update bash completion

9 years agoUnify indentation in bash completion
gentoo90 [Wed, 21 Dec 2016 19:11:02 +0000 (21:11 +0200)]
Unify indentation in bash completion

9 years agoMake sure targets always use absolute path
Aleksey Kladov [Wed, 21 Dec 2016 06:22:00 +0000 (09:22 +0300)]
Make sure targets always use absolute path

9 years agoUpdate libssh2 to fix a segfault on Windows
Alex Crichton [Tue, 20 Dec 2016 22:40:11 +0000 (14:40 -0800)]
Update libssh2 to fix a segfault on Windows

There's some more discussion on #3401, but this essentially is just an inclusion
of libssh2/libssh2#163

Closes #3401

9 years agoIgnore dot dirs in directory sources
Alex Crichton [Fri, 16 Dec 2016 20:54:47 +0000 (12:54 -0800)]
Ignore dot dirs in directory sources

Looks like they'll conflict with a VCS, so let's just skip them like we do in
directory traversal elsewhere.

Closes #3414

9 years agoAuto merge of #3430 - alexcrichton:bump, r=brson
bors [Tue, 20 Dec 2016 00:32:58 +0000 (00:32 +0000)]
Auto merge of #3430 - alexcrichton:bump, r=brson

Bump to 0.17.0

9 years agoBump to 0.17.0
Alex Crichton [Tue, 20 Dec 2016 00:28:47 +0000 (16:28 -0800)]
Bump to 0.17.0

9 years agoAuto merge of #3424 - matklad:naming-things, r=alexcrichton
bors [Mon, 19 Dec 2016 19:54:03 +0000 (19:54 +0000)]
Auto merge of #3424 - matklad:naming-things, r=alexcrichton

Minor, more explicit names

Ultraminor renaming. Have to look at this tests because it fails if you link with older libgit.

9 years agoAuto merge of #3413 - matklad:ref, r=alexcrichton
bors [Mon, 19 Dec 2016 18:19:00 +0000 (18:19 +0000)]
Auto merge of #3413 - matklad:ref, r=alexcrichton

Refactor resolve_dependencies

This moves `resolve_dependencies` function from `compile.rs` into the `resolve.rs`, where it more reasonably belongs.

9 years agoAuto merge of #3410 - fmdkdd:fix-3390-message-format-parse-stderr, r=alexcrichton
bors [Mon, 19 Dec 2016 17:04:04 +0000 (17:04 +0000)]
Auto merge of #3410 - fmdkdd:fix-3390-message-format-parse-stderr, r=alexcrichton

Fix `--message-format JSON` when rustc emits non-JSON warnings

The `--message-format JSON` flag parses all the stderr output of rustc to JSON,
but rustc can emit non-JSON lines to stderr (e.g., for warning about the
unstable `-Z` flag on the stable channel), causing cargo to fail reporting
compilation errors when using `--message-format JSON`.

This commit adds a check to look for lines beginning with `{` to only parse
these lines as JSON.  Other lines from rustc are forwarded to the stderr of
cargo.

Fixes #3390.

9 years agomake sure we use the check profile where possible for lib deps.
Nick Cameron [Sat, 17 Dec 2016 19:08:14 +0000 (09:08 -1000)]
make sure we use the check profile where possible for lib deps.

Fixes #3418

9 years agoMinor, more explicit names
Aleksey Kladov [Sun, 18 Dec 2016 16:21:13 +0000 (19:21 +0300)]
Minor, more explicit names

9 years agoDon't carry source ids along with sources
Aleksey Kladov [Sun, 18 Dec 2016 15:42:05 +0000 (18:42 +0300)]
Don't carry source ids along with sources

9 years agoBe more explicit about temporary workspaces
Aleksey Kladov [Sat, 17 Dec 2016 09:37:38 +0000 (12:37 +0300)]
Be more explicit about temporary workspaces

9 years agoAdd source_id method to the Source
Aleksey Kladov [Sat, 17 Dec 2016 09:07:37 +0000 (12:07 +0300)]
Add source_id method to the Source

9 years agoFix recursion in build_path_deps
Alex Crichton [Mon, 28 Nov 2016 19:10:31 +0000 (11:10 -0800)]
Fix recursion in build_path_deps

We were slightly too eager to follow pointers!

Closes #3330

9 years agoAdd a test for `--message-format` parsing the mixed output of rustc
fmdkdd [Fri, 16 Dec 2016 13:16:37 +0000 (14:16 +0100)]
Add a test for `--message-format` parsing the mixed output of rustc

9 years agoRename resolve_dependencies -> resolve_ws_precisely
Aleksey Kladov [Fri, 16 Dec 2016 08:17:02 +0000 (11:17 +0300)]
Rename resolve_dependencies -> resolve_ws_precisely

9 years agoSimplify `resolve_ws` API
Aleksey Kladov [Fri, 16 Dec 2016 08:13:07 +0000 (11:13 +0300)]
Simplify `resolve_ws` API

9 years agoMove `resolve_dependencies` into resolve.rs
Aleksey Kladov [Fri, 16 Dec 2016 08:01:01 +0000 (11:01 +0300)]
Move `resolve_dependencies` into resolve.rs

9 years agoAuto merge of #3411 - alexcrichton:tweaks, r=alexcrichton
bors [Fri, 16 Dec 2016 00:28:35 +0000 (00:28 +0000)]
Auto merge of #3411 - alexcrichton:tweaks, r=alexcrichton

Minor build tweaks

* Clean out OpenSSL when building
* Test 32-bit Cargo on OSX, not the 64-bit version on the 32-bit builder

9 years agoMinor build tweaks
Alex Crichton [Thu, 15 Dec 2016 16:59:51 +0000 (08:59 -0800)]
Minor build tweaks

* Clean out OpenSSL when building
* Test 32-bit Cargo on OSX, not the 64-bit version on the 32-bit builder

9 years agoFix `--message-format JSON` when rustc emits non-JSON warnings
fmdkdd [Thu, 15 Dec 2016 23:05:58 +0000 (00:05 +0100)]
Fix `--message-format JSON` when rustc emits non-JSON warnings

The `--message-format JSON` flag parses all the stderr output of rustc to JSON,
but rustc can emit non-JSON lines to stderr (e.g., for warning about the
unstable `-Z` flag on the stable channel), causing cargo to fail reporting
compilation errors when using `--message-format JSON`.

This commit adds a check to look for lines beginning with `{` to only parse
these lines as JSON.  Other lines from rustc are forwarded to the stderr of
cargo.

Fixes #3390.

9 years agoAuto merge of #3409 - matklad:workspace-manifest-error, r=alexcrichton
bors [Thu, 15 Dec 2016 19:04:28 +0000 (19:04 +0000)]
Auto merge of #3409 - matklad:workspace-manifest-error, r=alexcrichton

Don't ignore errors in workspace manifest

Closes #3407

If we find `Cargo.toml` during an up tree traversal, we'd better not to ignore errors within it!

9 years agoDon't ignore errors in workspace manifest
Aleksey Kladov [Thu, 15 Dec 2016 17:27:48 +0000 (20:27 +0300)]
Don't ignore errors in workspace manifest

9 years agoAuto merge of #3393 - alexcrichton:fix-libz-linkage, r=brson
bors [Thu, 15 Dec 2016 03:04:20 +0000 (03:04 +0000)]
Auto merge of #3393 - alexcrichton:fix-libz-linkage, r=brson

Bump libz-sys to 1.0.9

This just switches libz to always link statically instead of relying on the
system zlib. For MinGW it seems that linkage may default pull in a DLL, which is
almost never what we want.

Closes #3384

9 years agoAuto merge of #3403 - matklad:doc-loc, r=alexcrichton
bors [Thu, 15 Dec 2016 01:28:15 +0000 (01:28 +0000)]
Auto merge of #3403 - matklad:doc-loc, r=alexcrichton

cargo doc: show where are docs

Let's print the file we are trying to open. It's useful when we fail to detect the browser, because the user would be able to copy-paste url manually.

9 years agoBump libz-sys to 1.0.9
Alex Crichton [Tue, 13 Dec 2016 08:22:00 +0000 (00:22 -0800)]
Bump libz-sys to 1.0.9

This just switches libz to always link statically instead of relying on the
system zlib. For MinGW it seems that linkage may default pull in a DLL, which is
almost never what we want.

Also update curl-sys to fix a build issue on MinGW.

Closes #3384

9 years agoAuto merge of #3402 - matklad:packages, r=alexcrichton
bors [Wed, 14 Dec 2016 23:09:13 +0000 (23:09 +0000)]
Auto merge of #3402 - matklad:packages, r=alexcrichton

Refactor packages specification

A small refactoring to avoid returning a triple.

9 years agocargo doc: show where are docs
Aleksey Kladov [Wed, 14 Dec 2016 22:41:31 +0000 (01:41 +0300)]
cargo doc: show where are docs

9 years agoRefactor packages specification
Aleksey Kladov [Wed, 14 Dec 2016 22:12:21 +0000 (01:12 +0300)]
Refactor packages specification

9 years agoAuto merge of #3396 - pornel:test, r=alexcrichton
bors [Wed, 14 Dec 2016 08:52:55 +0000 (08:52 +0000)]
Auto merge of #3396 - pornel:test, r=alexcrichton

Test for issue #2064

I've tried to reproduce the problem from #2064, but to my surprise the test passes reliably :)

9 years agoAuto merge of #3296 - nrc:check, r=alexcrichton
bors [Wed, 14 Dec 2016 07:44:02 +0000 (07:44 +0000)]
Auto merge of #3296 - nrc:check, r=alexcrichton

cargo check

~~This is not finished - the big omission is no tests, and it needs some more testing too. It also requires https://github.com/rust-lang/rust/pull/37681.~~

However, this is my first non-trivial Cargo patch, so I'd like to get some early feedback.

r? @alexcrichton

and cc @rust-lang/tools since this adds a new Cargo sub-command (although we have previously discussed and approved the idea in a tools meeting).

9 years agoAuto merge of #3398 - alexcrichton:git-rev, r=alexcrichton
bors [Wed, 14 Dec 2016 05:56:37 +0000 (05:56 +0000)]
Auto merge of #3398 - alexcrichton:git-rev, r=alexcrichton

Fix git rev showing up in version number

Makefiles didn't support an out-of-tree build, so needed to update them to do
so.